from datetime import date

from .Staff import Staff
from .ShiftRelated import WorkTime, Shift


class ScheduleTask:
    def __init__(self,
            work_date: date,
            staff: Staff,
            work_time: WorkTime,
            shift: Shift,
            is_overwork: bool = False):
        self._work_date = work_date
        self._staff = staff
        self._work_time = work_time
        self._shift = shift
        self._is_overwork = is_overwork

    @property
    def work_date(self) -> date:
        return self._work_date

    @property
    def staff(self) -> Staff:
        return self._staff

    @property
    def work_time(self) -> WorkTime:
        return self._work_time

    @property
    def shift(self) -> Shift:
        return self._shift

    @property
    def is_overwork(self) -> bool:
        return self._is_overwork
